//
//  CRKitDataProvider.h
//  TestPrj
//
//  Created by 朱铅峰 on 2020/10/23.
//  Copyright © 2020 Xing. All rights reserved.
//

#import <Foundation/Foundation.h>

@class CRSession;
@class CRKitInfo;
@class CRKitInfoFetchOption;
@class CRMessage;

@protocol CRKitDataProvider <NSObject>

@optional

/**
 *  上层提供用户信息的接口
 *
 *  @param userId  用户ID
 *  @param option  获取选项
 *
 *  @return 用户信息
 */
- (CRKitInfo *)infoByUser:(NSString *)userId
                    option:(CRKitInfoFetchOption *)option;


/**
 *  上层提供群组信息的接口
 *
 *  @param teamId 群组ID
 *  @param option 获取选项
 *
 *  @return 群组信息
 */
- (CRKitInfo *)infoByTeam:(NSString *)teamId
                    option:(CRKitInfoFetchOption *)option;

/**
 *  上层提供超大群组信息的接口
 *
 *  @param teamId 群组ID
 *  @param option 获取选项
 *
 *  @return 群组信息
 */
- (CRKitInfo *)infoBySuperTeam:(NSString *)teamId
                         option:(CRKitInfoFetchOption *)option;

/**
*  上层提供被回复消息内容给统一格式的接口
*
*  @param message 被回复的消息
*
*  @return 回复展示内容
*/
- (NSString *)replyedContentWithMessage:(CRMessage *)message;

@end
